#include <sstream>
#include "ExcitationSystemDynamics.hpp"
#include "ExcIEEEST1A.hpp"

#include "PU.hpp"
#include "PU.hpp"
#include "PU.hpp"
#include "PU.hpp"
#include "PU.hpp"
#include "Boolean.hpp"
#include "Seconds.hpp"
#include "Seconds.hpp"
#include "Seconds.hpp"
#include "Seconds.hpp"
#include "Seconds.hpp"
#include "Seconds.hpp"
#include "ExcIEEEST1AUELselectorKind.hpp"
#include "PU.hpp"
#include "PU.hpp"
#include "PU.hpp"
#include "PU.hpp"
#include "PU.hpp"
#include "PU.hpp"

using namespace CIMPP;

ExcIEEEST1A::ExcIEEEST1A() {};

ExcIEEEST1A::~ExcIEEEST1A() {};






















bool assign_ExcIEEEST1A_ilr(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->ilr;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_ka(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->ka;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_kc(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->kc;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_kf(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->kf;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_klr(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->klr;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_pssin(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->pssin;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_ta(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->ta;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_tb(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->tb;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_tb1(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->tb1;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_tc(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->tc;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_tc1(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->tc1;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_tf(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->tf;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_uelin(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->uelin;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_vamax(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->vamax;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_vamin(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->vamin;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_vimax(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->vimax;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_vimin(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->vimin;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_vrmax(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->vrmax;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

bool assign_ExcIEEEST1A_vrmin(std::stringstream &buffer, BaseClass* BaseClass_ptr1) {
	if(ExcIEEEST1A* element = dynamic_cast<ExcIEEEST1A*>(BaseClass_ptr1)) {
                buffer >> element->vrmin;
                if(buffer.fail())
                        return false;
                else
                        return true;
        }
        else
                return false;
}

namespace CIMPP {
	BaseClass* ExcIEEEST1A_factory() {
		return new ExcIEEEST1A;
	}
}

void ExcIEEEST1A::addConstructToMap(std::unordered_map<std::string, BaseClass* (*)()>& factory_map) {
	factory_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A"), &ExcIEEEST1A_factory));
}

void ExcIEEEST1A::addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map) {
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.ilr"), &assign_ExcIEEEST1A_ilr));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.ka"), &assign_ExcIEEEST1A_ka));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.kc"), &assign_ExcIEEEST1A_kc));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.kf"), &assign_ExcIEEEST1A_kf));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.klr"), &assign_ExcIEEEST1A_klr));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.pssin"), &assign_ExcIEEEST1A_pssin));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.ta"), &assign_ExcIEEEST1A_ta));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.tb"), &assign_ExcIEEEST1A_tb));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.tb1"), &assign_ExcIEEEST1A_tb1));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.tc"), &assign_ExcIEEEST1A_tc));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.tc1"), &assign_ExcIEEEST1A_tc1));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.tf"), &assign_ExcIEEEST1A_tf));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.uelin"), &assign_ExcIEEEST1A_uelin));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.vamax"), &assign_ExcIEEEST1A_vamax));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.vamin"), &assign_ExcIEEEST1A_vamin));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.vimax"), &assign_ExcIEEEST1A_vimax));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.vimin"), &assign_ExcIEEEST1A_vimin));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.vrmax"), &assign_ExcIEEEST1A_vrmax));
	assign_map.insert(std::make_pair(std::string("cim:ExcIEEEST1A.vrmin"), &assign_ExcIEEEST1A_vrmin));
}

void ExcIEEEST1A::addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map) {
																			}

const char ExcIEEEST1A::debugName[] = "ExcIEEEST1A";
const char* ExcIEEEST1A::debugString()
{
	return ExcIEEEST1A::debugName;
}

const BaseClassDefiner ExcIEEEST1A::declare()
{
	return BaseClassDefiner(ExcIEEEST1A::addConstructToMap, ExcIEEEST1A::addPrimitiveAssignFnsToMap, ExcIEEEST1A::addClassAssignFnsToMap, ExcIEEEST1A::debugName);
}


